/*
 * @Author: error: git config user.name && git config user.email & please set dead value or install git
 * @Date: 2023-01-11 15:31:45
 * @LastEditors: chentao 294446993@qq.com
 * @LastEditTime: 2023-09-07 14:41:20
 * @FilePath: \node\fs.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
var fs = require("fs");
//文件模块 https://www.runoob.com/nodejs/nodejs-fs.html

//判断文件夹是否存在
const isFileExisted = (fileOrDirPath) => {
    return new Promise((resolve, reject) => {
        console.log("文件夹路径",fileOrDirPath)
        fs.stat(fileOrDirPath, (error) => {
            if (error) {
                console.log("fanhui false",error)
                reject(false)
            } else {
                resolve(true)
            }
        })
    })
}
const mkdirDictory = (filePath) => {
    return new Promise(async (resolve, reject) => {
        if (!!filePath) {
            const isExist = await isFileExisted(filePath)
            console.log("执行到xx",isExist)
            if (!isExist) {
                //如果文件夹不存在就创建
                fs.mkdir(filePath, (error) => {
                    if (!error) {
                        console.log("创建文件夹成功")
                        resolve(true)
                    } else {
                        reject(false)
                    }
                })
            } else {
                console.log("mkdir文件存在")
            }
        }
    })
}
(async function () {
    console.log("开始执行创建目录")
    await mkdirDictory("packageFs")
    
})()

// fs.stat("abc.txt", function (error, stats) {
//     console.log("abc_error", error, stats)
//     if (!error) {
//         //如果没错误 文件存在
//         if (stats) {
//             console.log("打印文件信息", stats)
//         }
//     }
// })
// if (fs.existsSync("chifan.txt")) {
//     console.log("检测文件是否存在", true)
// } else {
//     console.log("文件不存在")
// }
// //异步写入内容到文件
// fs.writeFile("chifan.txt", "\n writerFile\n", function (error) {
//     console.log("data", error)
// })
// //异步追加文件内容。
// fs.appendFile("chifan.txt", "追加内容", function (data) {
//     console.log("data", data)
// })
// //返回一个reader对象
// var reader = fs.createReadStream("chifan.txt", {
//     encoding: 'utf-8', //options参数说明 http://nodejs.cn/api/fs/fs_createreadstream_path_options.html
//     flags: 'r', //flags <string> 请参阅对文件系统 flags 的支持。 默认值: 'r'。
//     autoClose: true, // 默认读取完毕后自动关闭

// })

// reader.on("data", function (buffer) {
//     console.log("buffer", buffer.toString())
// })
// reader.on("end", function () {
//     console.log("读取完毕")
// })
// reader.on("close", function () {
//     console.log("close关闭")
// })